public class Demo {
    public static void Hanio(int n,char pos1,char pos2,char pos3) {
        if(n == 1) {
            move(pos1,pos3);
            return;
        }
        /*把除了最下面的盘子，剩余部分都看成一个整体，
        把这个整体借助第三根柱子移动到第二根柱子上，把最大的盘子从第一根柱子移到第三根柱子上*/
        Hanio(n-1,pos1,pos3,pos2);
        move(pos1,pos3);
        /*再借助第一根柱子，把整体从第二根柱子移到第三根柱子上*/
        Hanio(n-1,pos2,pos1,pos3);
    }
    public static void move(char pos1,char pos2){
        System.out.println(pos1+"-> "+pos2+" ");
    }

    public static void main(String[] args) {
        Hanio(3,'A','B','C');
    }
}
